Select +/- One
パターンが視える
$ iについて、$ A_iから$ B_iに寄せたい場合
基本的には単調に増やすか、減らすか
例えば、$ A_i = 3, B_i = 5なら、$ B_i - A_i = 2回操作すればよい
Nの制約は緩い
考えるべきケース
K回使い切っても達成できない場合
Kが最小操作回数未満であると言い換える
最小操作回数は、$ \sum|B_i - Ai|である
K回使い切るまでに達成できてしまう場合
「達成できな」くはない場合と言い換えるt6o_o6t.icon
1回の場合辻褄は合わないが、2回であれば、1回目の操作を戻せばよい
$ K-\sum|B_i-Ai|\equiv 0 \mod 2が成り立てばよい
code:bad_amari.cpp
cout << (k - sum % 2 == 0 ? "Yes" : "No") << endl;
code:ok_amari.cpp
cout << ((k - sum) % 2 == 0 ? "Yes" : "No") << endl;